package cn.edu.imnu.vacate.users.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;

import cn.edu.imnu.common.util.PageInfoUtil;
import cn.edu.imnu.vacate.users.pojo.ARole;
import cn.edu.imnu.vacate.users.pojo.AUser;

/**
 * 用户模块相关的service
 * 一个service持有多个dao
 * @author MCR
 *
 */
public interface IUsersService
{
	/*--------管理员操作开始---------*/
	/**
	 * 保存一条管理员
	 * @param User 保存的对象
	 * @return json:{"code":"0","info":"成功","date":{"effect":"","id":""}}
	 */
	JSONObject saveOneUserService(AUser User);
	
	/**
	 * 更新一条管理员
	 * @param User
	 * @return
	 */
	JSONObject updateOneUserService(AUser User);
	
	/**
	 * 删除一条管理员
	 * @param User
	 * @return
	 */
	JSONObject deleteOneUserService(AUser User);
	
	/**
	 * 查询一条管理员
	 * @param condMap 查询条件
	 * @return 返回管理员
	 */
	AUser findOneUserService(Map<String,Object> condMap);
	
	/**
	 * 查询多条管理员
	 * @param pageInfoUtil 分页对象：如果为null，不分页；如果不为空，分页；
	 * @param condMap 查询条件
	 * @return 返回多条记录
	 */
	List<AUser> findCondListUserService(PageInfoUtil pageInfoUtil,Map<String,Object> condMap);
	/*--------管理员操作结束---------*/
	
	/*--------角色操作开始---------*/
	/**
	 * 保存一条角色
	 * @param Role 保存的对象
	 * @return json:{"code":"0","info":"成功","date":{"effect":"","id":""}}
	 */
	JSONObject saveOneRoleService(ARole role);
	
	/**
	 * 更新一条角色
	 * @param Role
	 * @return
	 */
	JSONObject updateOneRoleService(ARole role);
	
	/**
	 * 删除一条角色
	 * @param Role
	 * @return
	 */
	JSONObject deleteOneRoleService(ARole role);
	
	/**
	 * 查询一条角色
	 * @param condMap 查询条件
	 * @return 返回角色
	 */
	ARole findOneRoleService(Map<String,Object> condMap);
	
	/**
	 * 查询多条角色
	 * @param pageInfoUtil 分页对象：如果为null，不分页；如果不为空，分页；
	 * @param condMap 查询条件
	 * @return 返回多条记录
	 */
	List<ARole> findCondListRoleService(PageInfoUtil pageInfoUtil,Map<String,Object> condMap);
	/*--------角色操作结束---------*/
	
}